package com.lingxu.module.risk.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 运行记录
 */
@Data
@TableName(value = "T_MODEL_RUN_RECORD")
public class TModelRunRecord implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "ID", type = IdType.INPUT)
    private String id;

    /**
     * 模型id
     */
    @TableField(value = "MODELID")
    private String modelid;

    /**
     * 用户id
     */
    @TableField(value = "USERID")
    private String userid;

    /**
     * 起始时间
     */
    @TableField(value = "STARTTIME")
    private String starttime;

    /**
     * 耗时(s)
     */
    @TableField(value = "CONSUMETIME")
    private Short consumetime;

    /**
     * 结束时间
     */
    @TableField(value = "ENDTIME")
    private String endtime;

    /**
     * 结果表
     */
    @TableField(value = "RESULTTABLE")
    private String resulttable;

    /**
     * 结果记录数
     */
    @TableField(value = "RESULTTOTAL")
    private Short resulttotal;

    /**
     * 可视化展示配置
     */
    @TableField(value = "VISUALCONFIG")
    private String visualconfig;

    /**
     * 01-分析模型-结果列表展示  02-分析模型-结果图表展示 03-算法训练  04-算法预测  05-算法训练+算法预测
     */
    @TableField(value = "RUNTYPE")
    private String runtype;

    /**
     * 状态 01:成功 02:失败 03:运行中 04:强制结束
     */
    @TableField(value = "RUNSTATUS")
    private String runstatus;

    /**
     * 运行进度 1 开始执行 2 模型加载 3 模型解析 4 模型运算 5 执行结束
     */
    @TableField(value = "RUNPROCESS")
    private String runprocess;

    /**
     * 运行日志
     */
    @TableField(value = "RUNLOGS")
    private String runlogs;

    /**
     * presto query id
     */
    @TableField(value = "QUERYID")
    private String queryid;

    /**
     * 运行结果字段 json信息
     */
    @TableField(value = "RESULTCOLUMNS")
    private String resultcolumns;

    /**
     * 备注信息
     */
    @TableField(value = "REMARK")
    private String remark;

    /**
     * 红名单数据量
     */
    @TableField(value = "REDTOTAL")
    private String redtotal;

    /**
     * 红名单数据查看申请时间
     */
    @TableField(value = "APPLYTIME")
    private String applytime;

    /**
     * 红名单数据查看申请事由
     */
    @TableField(value = "APPLYREASON")
    private String applyreason;

    /**
     * 红名单数据查看审批状态 0审批中 1审批通过 2审批不通过
     */
    @TableField(value = "APPROVESTATE")
    private String approvestate;

    /**
     * 红名单数据查看审批时间
     */
    @TableField(value = "APPROVETIME")
    private String approvetime;

    /**
     * 红名单数据查看审批意见
     */
    @TableField(value = "APPROVEOPINION")
    private String approveopinion;

    /**
     * 申请人id
     */
    @TableField(value = "APPLYUSERID")
    private String applyuserid;

    /**
     * 申请人姓名
     */
    @TableField(value = "APPLYUSERNAME")
    private String applyusername;

    /**
     * 审批人id
     */
    @TableField(value = "APPROVEUSERID")
    private String approveuserid;

    /**
     * 审批人姓名
     */
    @TableField(value = "APPROVEUSERNAME")
    private String approveusername;

    /**
     * 数据名称
     */
    @TableField(value = "DATANAME")
    private String dataname;

    /**
     * 数据范围
     */
    @TableField(value = "DATARANGE")
    private String datarange;

    /**
     * 数据调用事由
     */
    @TableField(value = "DATAREASON")
    private String datareason;

    /**
     * 申请室部分管领导姓名
     */
    @TableField(value = "DEPTLEADERNAME")
    private String deptleadername;

    /**
     * 申请室部分管领导意见
     */
    @TableField(value = "DEPTLEADEROPINION")
    private String deptleaderopinion;

    /**
     * 申请室部分管领导意见时间
     */
    @TableField(value = "DEPTLEADERTIME")
    private Date deptleadertime;

    /**
     * 上传文件
     */
    @TableField(value = "FILES")
    private String files;

    /**
     * 信息技术中心分管领导姓名
     */
    @TableField(value = "INFOLEADERNAME")
    private String infoleadername;

    /**
     * 信息技术中心分管领导意见
     */
    @TableField(value = "INFOLEADEROPINION")
    private String infoleaderopinion;

    /**
     * 信息技术中心分管领导意见时间
     */
    @TableField(value = "INFOLEADERTIME")
    private Date infoleadertime;

    /**
     * 承诺人
     */
    @TableField(value = "PROMISER")
    private String promiser;

    /**
     * 承诺时间
     */
    @TableField(value = "PROMISERTIME")
    private Date promisertime;

    /**
     * 申请部门名称
     */
    @TableField(value = "DEPTNAME")
    private String deptname;

    /**
     * 申请人
     */
    @TableField(value = "APPLYUSER")
    private String applyuser;

    /**
     * python文件
     */
    @TableField(value = "PYFILE")
    private String pyfile;

    /**
     * python调用返回结果
     */
    @TableField(value = "PYBACKRESULTS")
    private String pybackresults;

    /**
     * 承办部门
     */
    @TableField(value = "UNDERTAKE_DEPT_ID")
    private String undertakeDeptId;
     /**
     * 核查 0已核查，null 未核查
     */
    @TableField(value = "CHECKED_STATUS")
    private String checkedStatus;
}